home *** CD-ROM | disk | FTP | other *** search
/ Aminet 20 / Aminet 20 (1997)(GTI - Schatztruhe)[!][Aug 1997].iso / Aminet / comm / www / HTP.lha / HTP / source / htp.h < prev    next >
C/C++ Source or Header  |  1997-06-21  |  3KB  |  152 lines

  1. /*
  2. //
  3. // htp.h
  4. //
  5. // Common include file
  6. //
  7. // Copyright (c) 1995-96 Jim Nelson.  Permission to distribute
  8. // granted by the author.  No warranties are made on the fitness of this
  9. // source code.
  10. // Amiga version - 1997 - Geert Bevin
  11. //
  12. */
  13.  
  14. #ifndef HTP_H
  15. #define HTP_H
  16.  
  17. #include <exec/types.h>
  18.  
  19. /*
  20. // for assert()
  21. */
  22. #if !DEBUG
  23. #define NDEBUG
  24. #endif
  25.  
  26. /*
  27. // common definitions
  28. */
  29. //typedef unsigned int        BOOL;
  30. //#define FALSE               (0)
  31. //#define TRUE                (1)
  32. #define ERROR               ((uint) -1)
  33. #define NUL                 ((char) 0)
  34. //typedef unsigned char       BYTE;
  35. //typedef unsigned short      WORD;
  36. typedef unsigned long       DWORD;
  37.  
  38. /*
  39. // common data sizes
  40. */
  41. #define KBYTE               (1024L)
  42. #define MBYTE               (KBYTE * KBYTE)
  43. #define GBYTE               (MBYTE * KBYTE)
  44.  
  45. /*
  46. // debug information macro
  47. */
  48. #if DEBUG
  49.  
  50. #define DEBUG_PRINT(p) \
  51.     DebugMsg("\n(%s) %s line %u: ", PROGRAM_NAME, __FILE__, __LINE__); \
  52.     DebugMsg p; \
  53.     DebugMsg("\n");
  54.  
  55. #else
  56.  
  57. #define DEBUG_PRINT(p)
  58.  
  59. #endif
  60.  
  61. /*
  62. // macros to handle unused/unreferenced local variables & parameters in
  63. // functions
  64. //
  65. // DEBUG_* macros are defined as nothing in non-debug version, too catch
  66. // unreferenced stuff in final build version
  67. //
  68. // Macros wholesale ripped off from Windows NT device driver kit ... if
  69. // they originated elsewhere, this is the first I've seen them
  70. */
  71. #define UNREF_PARAM(p)      ((p) = (p))
  72. #define UNREF_LOCAL(l)      ((l) = (l))
  73.  
  74. #if DEBUG
  75.  
  76. #define DEBUG_UNREF_PARAM(p)    ((p) = (p))
  77. #define DEBUG_UNREF_LOCAL(l)    ((l) = (l))
  78.  
  79. #else
  80.  
  81. #define DEBUG_UNREF_PARAM(p)
  82. #define DEBUG_UNREF_LOCAL(l)
  83.  
  84. #endif
  85.  
  86. /*
  87. // common macros
  88. */
  89. #define MAKE_WORD(h, l)     (WORD) ((((WORD) (h)) << 8) | (((WORD) (l)) & 0x00FF))
  90.  
  91. /*
  92. // C library
  93. */
  94. #include <assert.h>
  95. #include <stdio.h>
  96. #include <stdlib.h>
  97. #include <ctype.h>
  98. #include <string.h>
  99. #include <time.h>
  100. #include <varargs.h>
  101. #include <sys/types.h>
  102. #include <sys/stat.h>
  103. #include <memory.h>
  104. #include <limits.h>
  105.  
  106. /*
  107. // operating-system dependent header file
  108. */
  109. #include "os.h"
  110.  
  111. /*
  112. // modules
  113. */
  114. #include "image.h"
  115. #include "html.h"
  116. #include "ver.h"
  117. #include "textfile.h"
  118. #include "varstore.h"
  119. #include "msg.h"
  120. #include "gif.h"
  121. #include "jpeg.h"
  122. #include "option.h"
  123. #include "suballoc.h"
  124.  
  125. /*
  126. // common functions (maintained in htp.c)
  127. */
  128. BOOL CreateTempFilename(char *tempfilename, uint size);
  129. char *StringToUpper(char *string);
  130. char *StringCopy(char *dest, const char *src, uint size);
  131. char *ConvertDirDelimiter(const char *pathname);
  132. BOOL FileExists(const char *pathname);
  133. char *FindFilename(char *pathname);
  134. char *DuplicateString(const char *src);
  135.  
  136. /*
  137. // re-entrant strtok() functions and structures
  138. */
  139.  
  140. typedef struct tagFIND_TOKEN
  141. {
  142.     const char          *tokens;
  143.     char                *lastChar;
  144.     char                *nextStart;
  145. } FIND_TOKEN;
  146.  
  147. char *StringFirstToken(FIND_TOKEN *findToken, char *string, const char *tokens);
  148. char *StringNextToken(FIND_TOKEN *findToken);
  149.  
  150. #endif
  151.  
  152.